﻿using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WucCloud.Utility
{
    /// <summary>
    /// 系统操作配置类
    /// </summary>
    public class AppSettingConfig
    {
        #region 数据库相关
        /// <summary>
        /// 数据库连接字符串
        /// </summary>
        public string DbConnectionString { get; set; }

        /// <summary>
        /// 连接超时时间（单位：秒）
        /// </summary>
        public int DbCommandTimeOut { get; set; }

        /// <summary>
        /// 数据库类型
        /// </summary>
        public DbType DbType { get; set; }

        /// <summary>
        /// 数据库序号
        /// </summary>
        public string DbNumber { get; set; }

        /// <summary>
        /// 是否允许多账号登录
        /// </summary>
        public bool IsMutiLogin { get; set; }

        /// <summary>
        /// 是否是多库模式
        /// </summary>
        public bool MutiDbEnabled { get; set; }

        /// <summary>
        /// 多库 集合
        /// </summary>
        public List<DbConfig> DbConfigs { get; set; }
        #endregion

        #region Jwt拓展
        /// <summary>
        /// Token的发行者
        /// </summary>
        public string Issuer { get; set; }

        /// <summary>
        /// Token的受理者
        /// </summary>
        public string Audience { get; set; }

        /// <summary>
        /// 加密的TokenKey 注意：长度必须要大于16位 
        /// </summary>
        public string SecretKey { get; set; }
        #endregion
    }

    /// <summary>
    /// 多库模式 实体类
    /// </summary>
    public class DbConfig
    {
        /// <summary>
        /// 数据库序号
        /// </summary>
        public string DbNumber { get; set; }

        /// <summary>
        /// 数据库类型
        /// </summary>
        public DbType DbType { get; set; }

        /// <summary>
        /// 数据库连接字符串
        /// </summary>
        public string DbConnectionString { get; set; }
    }
}
